package com.ssy.lingxi.member.merchant.model.vo.lrc.response;

import com.ssy.lingxi.common.constant.basic.EnableDisableStatus;
import com.ssy.lingxi.common.constant.member.MemberLevelTypeEnum;
import com.ssy.lingxi.common.constant.member.MemberTypeEnum;
import com.ssy.lingxi.common.constant.member.RoleTypeEnum;

import java.io.Serializable;

/**
 * 会员等级管理查询接口返回VO
 * @author 万宁
 * @version 2.0.0
 * @date 2020-08-24
 */
public class MemberLevelQueryVO implements Serializable {
    private static final long serialVersionUID = 1813819383859902855L;

    public MemberLevelQueryVO() {
    }

    public MemberLevelQueryVO(Long levelId, Integer level, String levelTag, Integer levelType, String scoreTag, Long roleId, String roleName, Integer roleType, Integer memberType, Integer point, Integer status) {
        this.levelId = levelId;
        this.level = level;
        this.levelTag = levelTag;
        this.levelType = levelType;
        this.levelTypeName = MemberLevelTypeEnum.getCodeMsg(levelType);
        this.scoreTag = scoreTag;
        this.roleId = roleId;
        this.roleName = roleName;
        this.roleType = roleType;
        this.roleTypeName = RoleTypeEnum.getName(roleType);
        this.memberType = memberType;
        this.memberTypeName = MemberTypeEnum.getCodeMessage(memberType);
        this.point = point;
        this.status = status;
        this.statusName = EnableDisableStatus.getNameByCode(status);
    }

    /**
     * 等级Id
     */
    private Long levelId;

    /**
     * 等级
     */
    private Integer level;

    /**
     * 等级名称
     */
    private String levelTag;

    /**
     * 等级类型枚举：1-平台会员，2-商户会员，3-渠道会员
     */
    private Integer levelType;

    /**
     * 等级类型名称
     */
    private String levelTypeName;

    /**
     * 升级分值标签
     */
    private String scoreTag;

    /**
     * 会员角色Id
     */
    private Long roleId;

    /**
     * 会员角色名称
     */
    private String roleName;

    /**
     * 角色类型枚举，1-服务提供者，2-服务消费者
     */
    private Integer roleType;

    /**
     * 角色类型名称
     */
    private String roleTypeName;

    /**
     * 会员类型枚举，1-企业会员，2-企业个人会员，3-渠道会员，4-渠道个人会员
     */
    private Integer memberType;

    /**
     * 会员类型名称
     */
    private String memberTypeName;

    /**
     * 升级阈值
     */
    private Integer point;

    /**
     * 状态枚举：0-禁用，1-启用
     */
    private Integer status;

    /**
     * 状态名称
     */
    private String statusName;

    public Long getLevelId() {
        return levelId;
    }

    public void setLevelId(Long levelId) {
        this.levelId = levelId;
    }

    public Integer getLevel() {
        return level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public String getLevelTag() {
        return levelTag;
    }

    public void setLevelTag(String levelTag) {
        this.levelTag = levelTag;
    }

    public Integer getLevelType() {
        return levelType;
    }

    public void setLevelType(Integer levelType) {
        this.levelType = levelType;
    }

    public String getLevelTypeName() {
        return levelTypeName;
    }

    public void setLevelTypeName(String levelTypeName) {
        this.levelTypeName = levelTypeName;
    }

    public String getScoreTag() {
        return scoreTag;
    }

    public void setScoreTag(String scoreTag) {
        this.scoreTag = scoreTag;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    public Integer getRoleType() {
        return roleType;
    }

    public void setRoleType(Integer roleType) {
        this.roleType = roleType;
    }

    public String getRoleTypeName() {
        return roleTypeName;
    }

    public void setRoleTypeName(String roleTypeName) {
        this.roleTypeName = roleTypeName;
    }

    public Integer getMemberType() {
        return memberType;
    }

    public void setMemberType(Integer memberType) {
        this.memberType = memberType;
    }

    public String getMemberTypeName() {
        return memberTypeName;
    }

    public void setMemberTypeName(String memberTypeName) {
        this.memberTypeName = memberTypeName;
    }

    public Integer getPoint() {
        return point;
    }

    public void setPoint(Integer point) {
        this.point = point;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }
}
